home *** CD-ROM | disk | FTP | other *** search
-
- ΓòÉΓòÉΓòÉ 1. Primer ΓòÉΓòÉΓòÉ
-
- OS/2 Presentation Manager Game Development Guide
-
- Version 2.0 - by Antonino Iannella, February 25th, 1996
-
- Choose a section below:
-
- Introduction
-
- Copyright information and distribution rights
-
- Archive contents
-
- Revision history
-
-
- ΓòÉΓòÉΓòÉ 1.1. Introduction ΓòÉΓòÉΓòÉ
-
- This document is intended to be a guide for OS/2 users (or wannabes) to see
- more high-quality native OS/2 games. It is not designed to teach people how to
- write games, only as a reference guide for more information. Alot of this
- guide also relates to writing general OS/2 applications.
-
- If anyone finds mistakes in this guide, or has some information to contribute,
- please contact the author. Please do so even if you found this guide useful or
- not!
-
-
- ΓòÉΓòÉΓòÉ 1.2. Copyright information and distribution rights ΓòÉΓòÉΓòÉ
-
- This guide's author is Antonino Iannella. It is released into the public
- domain, and may be used by anyone. It is freely distributable using any medium
- or site. It may not be sold. The author has no authority over the way that it
- is distributed. It may not be distributed on the Microsoft Network (MSN) or
- used by Microsoft in any way. A breach of this policy will result in legal
- action.
-
- The author shall not be made responsible for any errors, or damage caused by
- this guide's contents, so don't hit your grandmother with it!
-
- This is what people who break this law will look like! :-) (Courtesy of
- Salvador Dali).
-
-
- ΓòÉΓòÉΓòÉ 1.3. GamDev2.ZIP archive contents ΓòÉΓòÉΓòÉ
-
- This archive must be distibuted with
-
- GamDev2.inf This file
-
- FILE_ID.DIZ BBS information file
-
- GamDev2.txt Site information file
-
-
- ΓòÉΓòÉΓòÉ 1.3.1. FILE_ID.DIZ ΓòÉΓòÉΓòÉ
-
-
- GamDev2.zip - PM Game development guide
- A guide for finding more information relating
- to OS/2 PM game development.
- In OS/2 INF format.
- by Mr Antonino Iannella
- 9308390r@lux.levels.unisa.edu.au
-
-
- ΓòÉΓòÉΓòÉ 1.3.2. GamDev2.txt ΓòÉΓòÉΓòÉ
-
-
- OS/2 Upload Information Template for ftp-os2.nmsu.edu
-
- Archive Name: GamDev2.zip
- Program Description: (keep it under 60 characters)
-
- A guide for finding more information relating to PM game development.
-
- Operating System Versions: OS/2 2.0 and above
- Program Source: none
- Replaces: none
-
- Your name: Antonino Iannella
- Your email address: 9308390r@lux.levels.unisa.edu.au
-
- Proposed directory for placement: /pub/os2/info
-
-
- ΓòÉΓòÉΓòÉ 1.4. Revision history ΓòÉΓòÉΓòÉ
-
-
- Version 1.0 - An Email message to a colleague gave me the idea to make a reference guide.
- Version 1.1 - An introduction was added.
- Version 2.0 - A large amount of information was added, so it was decided to format the
- guide in OS/2 INF format, then distribute it.
- Version 2.+ - Well? Please send any contribution you may have to the author!
-
-
- ΓòÉΓòÉΓòÉ 2. Things to learn ΓòÉΓòÉΓòÉ
-
- This section has some suggestions regarding the OS/2 Warp Presentation Manager
- programming.
-
- Get Warped!
-
- Choose a standard programming language
-
- OS/2 Warp Presentation Manager programming
-
- GPI programming
-
- Other PM technologies
-
-
- ΓòÉΓòÉΓòÉ 2.1. Get Warped! ΓòÉΓòÉΓòÉ
-
- What are you waiting for? Go on, try it! OS/2 Warp is one of the most advanced
- and powerful operating systems in the world. Some of the many features are
-
- Robust, and reliable,
-
- Object orientation,
-
- Complete 32-bit architecture,
-
- Real pre-emptive multitasking,
-
- Easier to program than other platforms, and
-
- Excellent multimedia support.
-
- Now take advantage of the wide range of native applications. You can even run
- most DOS and Windows applications. Whatever you do, get Galactic
- Civilisations. This game by Stardock Systems is a must!
-
-
- ΓòÉΓòÉΓòÉ 2.2. Choose a standard programming language ΓòÉΓòÉΓòÉ
-
- Find a commonly-used language to program in. It is important to know one! My
- personal preference is C. Alot of OS/2 applications, and games, are written in
- C (or C++). Lots of source code examples are, too.
-
- If object-oriented programming is your scene, go for C++. The Warp
- Entertainment Toolkit is aimed at C++ developers. REXX is also a popular
- language. It is interpreted, rather than compiled. A REXX program will run
- slower than an equivalent C or C++ program. However, REXX programs are easy to
- write, and quite powerful. Multimedia with OS/2 REXX is easy, too. Refer to
- the MCIREXX.INF in your MMOS2 directory, if available.
-
-
- ΓòÉΓòÉΓòÉ 2.3. OS/2 Warp Presentation Manager programming ΓòÉΓòÉΓòÉ
-
- Learn to program the OS/2 Presentation Manager in C (or your language of
- choice). Knowing basic PM programming will let you design a user interface for
- your game. The PM API functions may look overwhelming to the uninitiated. It
- is hard work to learn (and understand!) how to do the simplest tasks, however
- PM programming allows you to write powerful applications with minimal code.
-
-
- ΓòÉΓòÉΓòÉ 2.4. GPI programming ΓòÉΓòÉΓòÉ
-
- The Graphics Programming Interface (GPI) is the method to draw primitive
- graphics in a PM window. It also handles bitmaps, metafiles, animation and
- other things. It is very functional, and sometimes complicated. I don't know
- much about it.
-
-
- ΓòÉΓòÉΓòÉ 2.5. Other PM technologies ΓòÉΓòÉΓòÉ
-
- OS/2 Warp has many extra technologies which greatly enhance games. They are
-
- DIVE - Direct Interface to Video Extensions. It allows for really fast
- graphics or real-time video, and can play AVI or FLI-format files
- effectively.
-
- MMPM - Multimedia Presentation Manager. Allows easy-to-use multimedia
- features, such as playing WAV or MID-format files.
-
- SOM - System Object Model. This lets the system and its applications
- have the concept of 'objects'. A directory is an object. An icon is an
- object. Your chess game opponent on a future, high-technology WAN which
- might extend into an unfathomable dimension, full of highly-developed
- alien life - but who are on the Internet - is also treated as an object.
-
- Other technologies include DART, enDIVE, 3D animation, Real-Time MIDI,
- DirectDMA and networking features.
-
-
- ΓòÉΓòÉΓòÉ 3. Miscellaneous suggestions ΓòÉΓòÉΓòÉ
-
- For more information on creating OS/2 Warp games, including an overview of the
- Warp Entertainment Toolkit, see http://www.austin.ibm.com/os2games.
-
- Join the IBM Solution Developer's Programme in your country. It may also be
- referred to as the Developer Assistance Programme (DAP). Also, join the
- Worldwide DAP (Email wwdap@vnet.ibm.com). This gives you access to development
- software, including the Developer's Connection CD-ROM.
-
- Join
-
- Join Club OpenDoc, see http://www.software.ibm.com/clubopendoc/index.html (or
- Email Club_OpenDoc@aussmtp.austin.ibm.com).
-
- Do not be afraid to buy a book on the topic you are after!
-
- Get all the issues of EDM/2 magazine that you can! There are many excellent
- articles about PM programming. The 'Gearing up for Games' series gives an
- introduction to Warp gaming technologies, like DIVE.
-
- You will probably be spending alot of time in front of a computer. Be patient,
- and have regular breaks.
-
- Don't be afraid to try things. Have fun while you are trying it.
-
- Read the newsgroup rec.sys.programmer FAQ. It provides many useful references
- to books, companies, sites and techniques useful for game development. Most of
- the information relates to DOS programming, so it may not be useful for PM
- programming, except for techniques like artificial intelligence or virtual
- reality.
-
- Games and animation may be resource-intensive; you may experience device driver
- problems.
-
- Learn threads and semaphores. It is possible to write a simple text-based
- program where one can create, destroy, and pass messages between threads. Get
- a sound understanding of multithreading. Semaphores are useful to synchronise
- events.
-
- Don't program in Ada.
-
- People who 8514 video adapters cannot use (or view) DIVE instances. DIVE is
- not really necessary if you do not need to update large graphics regularly; GPI
- functions are sufficient in these cases.
-
-
- ΓòÉΓòÉΓòÉ 4. Book Recommendations ΓòÉΓòÉΓòÉ
-
- Books may be ordered through the IBM SDP (DAP), or at your local bookshop. All
- the books listed are in English, unless stated otherwise.
-
- Learning to Program the OS/2 2.0 Presentation Manager by Example - Stephen
- Knight
-
- This book is a reasonable beginner's book, for PM C. It explains basic concept
- very well. It deals with basic PM window creation, simple GPI programming,
- help files, some GPI animation (which I couldn't understand), amongst other
- things. It uses one big example, which is a slide puzzle game. At times it
- may be hard to follow the large chunks of sample code.
-
- The Art of OS/2 Warp Programming - Catherine Panov, Larry Salomon, Arthur Panov
-
- This may be a better PM C beginner's book than the former. It deals with more
- concepts relating to PM programming, even multitasking. See
- http://www.iqpac.com/tao/index.shtml
-
- Programming the OS/2 Warp GPI - Stephen Knight, Jeffrey Ryan
-
- This book explains GPI programming in C. It is for beginning to intermediate
- programmer, and appears to explain difficult GPI concepts. It also uses one
- big example to illustrate all concepts. See
- http://www.wiley.com/compbooks/i5.html
-
- Programming Multimedia in OS/2
-
- This book is written for OS/2 2.1, so it does not explain all the features
- which were introduced with OS/2 Warp. it might be worth a miss, until it gets
- revised!
-
- System-Programmierung OS/2 - Frank Eckgold (in German)
-
- Quite a good reference but many typographical errors and mistakes in the early
- edition. It has some useful examples.
-
- The Ultimate OS/2 Programmer's Manual - John Mueller
-
- It is a good reference, but that's it. It has no sample programs. It is not a
- stand-alone buy, but an additional book where you will quickly find what you
- are looking for.
-
- OS/2 Programmierung - T. Legenkamp, J. Bredno (in German)
-
- It is a good introductory book with some samples, but no use at all as a
- reference. It has some information not available in the other books.
-
- OS/2 Multimedia Programmierung - T. Legenkamp (in German)
-
- The only reference to MMOS/2. It has the most important information on MMOS/2
- but that's it. It is easier to use than the online help from Visualage C/C++!
-
-
- ΓòÉΓòÉΓòÉ 5. Other resources ΓòÉΓòÉΓòÉ
-
- This section lists useful resources which any OS/2 developer should consider.
-
- Compilers
-
- Software
-
-
- ΓòÉΓòÉΓòÉ 5.1. Compilers ΓòÉΓòÉΓòÉ
-
- Get one. I prefer EMX/GNU C. It has a C, C++, and an Objective C compiler.
- It's free. It does the job. Some commercial compilers are
-
- IBM VisualAge C/C++ - Nice compiler. Loads of features, good user
- interface. American students get it very cheaply.
-
- Watcom C/C++ - Arguably better than VisualAge. Can cross-compile for
- multiple operating systems.
-
- Borland C/C++ - Uses their infamous IDE interface. If you are
- considering this compiler, consider GNU C.
-
- VisPro C/C++ - It is from Canada. Any opinion would be appreciated.
-
- For REXX development there is
-
- DrDialog - Cute, useable, and free
-
- The commercial compilers Watcom VX-REXX, and VisPro REXX are good for
- graphical development of PM applications using REXX.
-
- This is what people who are frustrated with their compiler look like! :-)
-
-
- ΓòÉΓòÉΓòÉ 5.2. Software ΓòÉΓòÉΓòÉ
-
- Subscribe to the Developer's Connection CDROMs through the IBM SDP. It is your
- life blood. It is about US$200 for 4 sets of CD-ROMs, which are distributed
- quarterly. If you can't afford it, ask for the Promotional DevCon. They give
- you one (but ONLY one) set out of good will, for free! With the money you have
- now saved, buy a CD-ROM drive so you can use them :-).
-
- Get the Hobbes OS/2 CD-ROM (Email info@cdrom.com). It is about US$30. You get
- the entire OS/2 hobbes.nmsu.edu site on two cdroms, which comes in handy. If
- you develop software that they put on the CD-ROM, they will even send you one
- as a gift, because they are nice.
-
- OS/2 Warp Developer's Toolkit - THE tool for OS/2 developers. It has got
- necessary software, documentation, and examples for Assembler, C, C++, SOM, and
- REXX. It's on the DevCon. Install it.
-
- OS/2 Warp Entertainment Toolkit - This may be another package to get if you
- intend to write games, particularly in C++. It includes new technologies like
- 3D rendering, animation, and a joystick driver.
-
- Hyperwise - Allows easy creation of OS/2 and Windows help files. It's really
- nice. It can even import and export in HTML format. Unfortunately, there is
- only a demonstration version of it on the DevCon. If anyone can suggest a
- nice, freely-available INF creation tool, please do so!
-
- Object REXX - This gives REXX object-oriented abilities. It may be worth a
- look. It's on the DevCon.
-
- DrDialog - My favourite REXX tool! It allows the graphical creation of simple
- PM applications using REXX. It's on the DevCon.
-
- Prominare Designer - This allows excellent graphical creation of OS/2
- applications. The demonstration version (PDD.ZIP) has a dialog creation tool
- (which is perfectly usable) and rivals that in the Warp Developer's Toolkit.
- See http://www.prominare.com/prominare. You may need the LOADDSKF.EXE utility
- to decompress the demonstration version archive.
-
- Guidelines - Graphical PM application development tool which builds using your
- C++ compiler. Very nice. The base package may be free. See
- ftp://hobbes.nmsu.edu/os2/dev32/gui*.
-
- Paint Shop Pro - (psp311.zip, available in Windows sites like SimTel, in the
- 'graphics' directory) is a good shareware graphics viewer/editor. It rivals
- Adobe Photoshop. You will undoubtedly use it for editing images for your next
- hot OS/2 game! Unfortunately, it's not native, so why not contact the creators
- and tell them that it would be better if it was?
-
- POVRAY - This is useful for creating rendered graphics, like those in the film
- Toy Story. It is also free. The graphics in a native OS/2 game, Toyland ,
- were created using this. If you don't want to learn its modelling language,
- get a shareware modeller like PovCad 3D. Unfortunately, it's a Windows
- application, so why not tell the author that 'native is better'?
-
-
- ΓòÉΓòÉΓòÉ 6. Information references available via the Internet ΓòÉΓòÉΓòÉ
-
- This section lists some Internet (with World Wide Web sites) of interest to
- OS/2 users and developers.
-
- OS/2 game development related
-
- Game development related
-
- General OS/2 related
-
- Miscellaneous sites
-
-
- ΓòÉΓòÉΓòÉ 6.1. OS/2 game development related ΓòÉΓòÉΓòÉ
-
- There are two main OS/2 repositories on the internet. They are
- ftp-os2.cdrom.com , and hobbes.nmsu.edu. There are mirrors around the world,
- like ftp.latrobe.edu.au. OS/2 information and software may be found at these
- sites. Various source code samples are provided in the /dev16 and /dev32
- directories.
-
- IBM OS/2 Warp games home page
- This is the starting point for looking for OS/2 game-specific information.
- http://www.austin.ibm.com/os2games
-
- OS/2 Game Development Council
- http://naftalab.bus.utexas.edu/os2games
-
- The Ultimate OS/2 games page
- http://www.cc.gatech.edu/people/home/buie/os2games.html
-
- Team OS/2 Online
- There are lots of excellent links to all kinds of information. Become a member here.
- http://www.teamos2.org
-
- EDM/2 Magazine
- This electronic magazine is so good, it should be put on the World Heritage List.
- Get all the issues!
- http://www.iqpac.com
-
- See newsgroups comp.sys.os2.programmer.*, comp.os2.os2.misc.games
-
- For a general OS/2 programming FAQ, see
- http://www.connix.com/~kiernasj/os2_prog.faq.html.
- This may come in somewhat useful.
-
- For a list of OS/2-related books, see ftp://hobbes.nmsu.edu/os2/info/os2books.txt.
-
-
- ΓòÉΓòÉΓòÉ 6.2. Game development related ΓòÉΓòÉΓòÉ
-
- Here are some sites relating to game development techniques and resources.
-
-
- Games domain
- A useful nice site relating to all aspects of gaming.
- http://www.gamesdomain.co.uk
-
- POVRAY archive and a mirror
- ftp://ftp.povray.org (or ftp://uniwa.uwa.edu.au/pub/povray)
-
- The rec.sys.programmer.games newsgroup. Get its FAQ as well.
- The author is gavin@senator.demon.co.uk.
-
- Game developer magazine
- http://www.mfi.com/gdmag
-
- The X2ftp site (x2ftp.oulu.fi), contains alot of information on designing DOS games.
- Most of it is irrelevant to PM games. Try the Games Programming Encyclopaedia.
-
-
- ΓòÉΓòÉΓòÉ 6.3. General OS/2 related ΓòÉΓòÉΓòÉ
-
- Here is a list of sites for all OS/2 users.
-
-
- There is a general OS/2 FAQ. Look for it on the Team OS/2 site.
-
- DOS and Windows games settings list
- http://eyelab.msu.edu/os2games
-
- Rainald in Toyland
- http://www.uni-koeln.de/~a0085/Toyland.html or
- http://www.wilmington.net/bmtmicro/catalog/toyland/Toyland.html
-
- Stardock!
- http://oeonline.com/~stardock/index.html
-
- OS/2 software solutions
- http://www.mfi.com/os2dev/cgi-bin/
-
- OS/2 e-Zine!
- http://www.isisnet.com./haligonian/os2
-
- #OS/2 Internet Relay Channel (IRC) group.
-
-
- ΓòÉΓòÉΓòÉ 6.4. Miscellaneous sites ΓòÉΓòÉΓòÉ
-
- This section contains some of my favourite World-Wide Web sites. Visit them!
-
- Antonino's very own home page! Rejoice in its spendour!
- http://www.tripod.com/~antonino/index.html
-
- University of South Australia
- http://www.unisa.edu.au
-
- Joan Grove's home page
- Want to know how Microsoft treats its employees?
- http://www.seasun.com/redrose
-
- Windows 95 hate page
- http://alfred.uid.no/People/wolf/grana
- Also try to find the Official Anti-Microsoft home page.
-
- Zero Micro Software home page
- http://www.micros0ft.com
-
- The Unofficial Brady Bunch home page
- http://www.teleport.com/~btucker/bradys.shtml
-
- The Calvin and Hobbes archive
- http://www.eng.hawaii.edu/Contribs/justin/Archive/Index.html
-
- Bite me! This is Illtel
- http://wonderland.illtel.denver.co.us
-
- The official DefFX home page
- http://www.geko.com.au/vrx/dfx/html/def-fx.html
-
-
- ΓòÉΓòÉΓòÉ 7. Author contact details ΓòÉΓòÉΓòÉ
-
- I have been looking for information on how to program OS/2 applications (and
- games) for some time. I wrote this guide because I found that there is no
- similar source of information for beginners. The road to success with PM
- programming is long and hard, but the end result is rewarding. My best advice
- is to buy books which suit you.
-
- Please send comments, suggestions, or improvements to
-
-
- **** **** * **** Operate at a higher level.
- * * * * * * *
- * * * * * Mr Antonino Iannella
- * * **** * * Computer Systems Engineering
- * * * * * * 9308390r@lux.levels.unisa.edu.au
- **** **** * ****** http://www.tripod.com/~antonino/index.html
-
- General Application Error in Module MS:WIN-95.
- This version will now self-destruct!
-
- Would you fix your house if the windows need replacing?
- So why not fix your computer by replacing its Windows?
-
- Pretty cool, eh?
-
-
- ΓòÉΓòÉΓòÉ 7.1. Acknowledgements ΓòÉΓòÉΓòÉ
-
- The following wonderful people helped with the compilation of this guide.
-
- Joan Grove
-
- Dan Libby
-
- Dan Rhoads
-
- Timur Tabi
-
- Rainald Menge
-
- Jeff Chang
-
- Bedrich Smetana
-
- Nicholas Pioch
-
- Larry Salomon
-
- Tom Stevic
-
- Toby Flugel
-
- Thomas
-
- Gerardo Diaz
-
- Mark Rosenberg
-
- University of South Australia ITU
-
-
- Joan Grove, redrose@halcyon.com
-
- Dan Libby, dandaman@aloha.com
-
- Dan Rhoads, drhoads@ibm.net
-
- Timur Tabi, timur@vnet.ibm.com
-
- Rainald Menge, menge@rrz.uni-koeln.de
-
- Jeff Chang, gozigen@aol.com
-
- Bedrich Smetana, Bedrich_Smetana@idg.com
-
- Nicholas Pioch, WebMuseum, pioch@netscape.com
-
- Larry Salomon, os2man@panix.com
-
- Tom Stevic, stevic@ibm.net
-
- Toby Flugel, toby@annex.com
-
- Thomas, ThomasC2@aol.com
-
- Mark Rosenberg, marks@rosenberg.sdi.agate.net
-
- Gerardo Diaz, gerdiaz@ibm.net
-
- University of South Australia ITU
-
-
- ΓòÉΓòÉΓòÉ 7.2. Registered trademarks ΓòÉΓòÉΓòÉ
-
- This section lists some of the trademarks which belong to their owners.
-
- OS/2, Hyperwise, and VisualAge C++ are trademarks of the IBM Corporation.
-
- OpenDoc is an industry standard, probably belonging to companies like Motorola,
- Apple, DEC, IBM, but definitely not Microsoft.
-
- Windows and the Microsoft Network are trademarks of the Microsoft Corporation.
- 'Windoze' isn't, however.
-
- Paint Shop Pro is a trademark of JASC Products.
-
- Photoshop is a trademark of Adobe Systems, Inc.
-
- Prominare Designer is a trademark of Prominare.
-
- Netscape is a trademark of the Mozilla Corporation.
-
- Galactic Civilisations is a trademark of Stardock Systems.
-
- The pictures are copyright of Joan Grove, IBM, Mozilla, the WebMuseum, IQPac Inc,
- Rainald Mange, Stardock Systems, Salvador Dali, Graham Griffiths,
- the University of South Australia, and anyone else on the Internet
- whom I have not acknowledged.
-
- Toy Story is a Walt Disney production.
-
-